Page({
	async test(e){ //注意，await所在的函数必须是async修饰的
		let time=await this.request('http://worldtimeapi.org/api/timezone/Asia/Shanghai')
		console.log(time)
		console.log("Over")
	},
	play(e){ //播放点击的视频
		let index=e.currentTarget.dataset.index //点击视频的索引后号
		wx.navigateTo({ url:'/pages/xuanfeng/player?index='+index }) //API 用来完成页面间的跳转
	},
	request(url){ //准备发起一个请求 
		return new Promise((resolve, reject)=>{
			wx.request({
			  	url,
				success: r=>{
					resolve(r.data) //返回成功请求获取的数据
				},
				fail: e=>{
					resolve(null) //返回null表示获取失败
				}
			})
		})
	},
	menu(e) { //点击的菜单项
		let menuIndex = e.target.dataset.index //点击菜单项的索引号
		let oldIndex = this.data.menuIndex //上次点击的菜单索引号
		let change = {
			menuIndex
		} //用来记录有变量的数据
		change['menus[' + oldIndex + '].selected'] = false //取消原来菜单项的选择样式
		change['menus[' + menuIndex + '].selected'] = true //设置新的菜单项的选择样式
		this.setData(change)
	},
	async type(e) { //点击的类型
		wx.showLoading({
			title: '请稍等~',
			mask: true,
		})
		let typeIndex = e.target.dataset.index //获取点击类型的索引号
		let menuIndex = this.data.menuIndex //当前菜单的索引号
		let menu = this.data.menus[menuIndex] //获取当前菜单项
		let type = menu.types[typeIndex] //获取当前类型项
		let oldIndex = menu.typeIndex //上次点击的类型索引号
		let change = {} //记录有变化的数据
		if (oldIndex != null) change['menus[' + menuIndex + '].types[' + oldIndex + '].selected'] = false
		change['menus[' + menuIndex + '].types[' + typeIndex + '].selected'] = true
		change['menus[' + menuIndex + '].typeIndex'] = typeIndex
		this.setData(change)
		if (type.list == null) { //若还没有视频列表信息，就获取列表
			let url = 'https://miao101.com/tag/' + encodeURIComponent(type.type) + '/1'
			let html=await this.request(url)//获取网页返回的html文本
			if(html==null){ //读数据失败
				wx.showModal({
					content: '读取网络信息出错啦~',
					showCancel: false,
				})
			}else{
				let regex = /<a href="([^"]+)"><img src="([^"]+)" class=".+?" alt="([^"]+)">/g
				let r, list = [] //用来存储找到的所有电影信息
				while (r = regex.exec(html)) {
					list.push({
						url: r[1], //视频超链接
						img: r[2], //图片地址
						title: r[3], //视频的标题
					})
				}
				this.setData({['menus[' + menuIndex + '].types[' + typeIndex + '].list']:list})
			}
		}
		wx.hideLoading()
	},
	onHide: function () {// 页面从前台变为后台时执行
		wx.setStorageSync('xuanfeng', this.data)
	},
	onUnload: function () {// 页面销毁时执行
		wx.setStorageSync('xuanfeng', this.data)
	},
	onLoad(e){ //页面加载时执行
		let data=wx.getStorageSync('xuanfeng')
		this.setData(data)
	},
	data: {
		menuIndex: 0,
		menus: [{
			menu: '电影',
			types: [{
					type: '动作片'
				},
				{
					type: '喜剧片'
				},
				{
					type: '爱情片'
				},
				{
					type: '科幻片'
				},
				{
					type: '恐怖片'
				},
				{
					type: '犯罪片'
				},
				{
					type: '动漫片'
				},
				{
					type: '剧情片'
				},
				{
					type: '战争片'
				},
				{
					type: '纪录片'
				},
			],
			selected: true,
		}, {
			menu: '电视剧',
			types: [{
					type: '国产剧'
				},
				{
					type: '香港剧'
				},
				{
					type: '韩国剧'
				},
				{
					type: '欧美剧'
				},
				{
					type: '台湾剧'
				},
				{
					type: '日本剧'
				},
				{
					type: '泰国剧'
				},
			],
		}, {
			menu: '综艺',
			types: [{
					type: '大陆综艺'
				},
				{
					type: '日韩综艺'
				},
				{
					type: '港台综艺'
				},
				{
					type: '欧美综艺'
				},
			],
		}, {
			menu: '动漫',
			types: [{
					type: '国产动漫'
				},
				{
					type: '港台动漫'
				},
				{
					type: '日韩动漫'
				},
				{
					type: '欧美动漫'
				},
				{
					type: '海外动漫'
				},
			],
		}, {
			menu: '体育',
			types: [{
					type: '足球'
				},
				{
					type: '篮球'
				},
				{
					type: '网球'
				},
				{
					type: '斯诺克'
				},
			],
		}]
	},
})